package com.wz.project.bas.product.domain;

import com.wz.framework.aspectj.lang.annotation.Excel;
import com.wz.framework.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 基础物品表 bas_product
 * 
 * @author sys
 * @date 2021-10-28
 */
public class Product extends BaseEntity
{
	private static final long serialVersionUID = 1L;
	
	/** 入库单主表guid */
	private String productGuid;
	/** 物资编码（允许为空） */
	@Excel(name="物资编码")
	private String productId;
	/** 主类id（允许为空） */
	private String parentId;
	/** 层级标志（允许为空） */
	@Excel(name="包装定额")
	private String specialFlag;
	/** 标志（允许为空） */
//	@Excel(name="ABC分类")
	private String productFlag;
	/** 层级（允许为空） */
	private Integer theFloor;
	/** 物资名称（允许为空） */
	@Excel(name="物资名称")
	private String productName;
	/** 规格 */
//	@Excel(name="体积")
	private String model;
	/** 单位（允许为空） */
//	@Excel(name="单位")
	private String unit;
	/** 价格（允许为空） */
//	@Excel(name="重量")
	private String spec;
	/** 简称 */
	private String simpleName;
	/** 助记码 */
//	@Excel(name="货物条码")
	private String mnemonicCode;
	/** 长（不允许为空） */
//	@Excel(name="大类")
	private BigDecimal productLength;
	/** 宽（不允许为空） */
//	@Excel(name="中类")
	private BigDecimal productWidth;
	/** 高（不允许为空） */
//	@Excel(name="小类")
	private BigDecimal productHeight;
	/** 二期垛型id（不允许为空） */
	private BigDecimal stackingId;
	/** 是否可用（允许为空）Y可用N不可用 */
	@Excel(name="是否可用(Y/N)")
	private String useable;
	/** 立库最小库存（允许为空） */
	private BigDecimal lkMinkc;
	/** 立库最大库存（允许为空） */
	private BigDecimal lkMaxkc;
	/** 地堆最小库存（允许为空） */
	private BigDecimal flatMinkc;
	/** 地堆最大库存（允许为空） */
	private BigDecimal flatMaxkc;
	/** 保质期 */
	private BigDecimal bzq;
	/** 有效期 */
	@Excel(name="有效期")
	private BigDecimal yxq;
	/** 备注 */
	@Excel(name="备注")
	private String remark;
	/** 一期垛型id */
	private String oneStackingId;

	public String getProductGuid() {
		return productGuid;
	}

	public void setProductGuid(String productGuid) {
		this.productGuid = productGuid;
	}

	public String getProductId() {
		return productId;
	}

	public void setProductId(String productId) {
		this.productId = productId;
	}

	public String getParentId() {
		return parentId;
	}

	public void setParentId(String parentId) {
		this.parentId = parentId;
	}

	public String getSpecialFlag() {
		return specialFlag;
	}

	public void setSpecialFlag(String specialFlag) {
		this.specialFlag = specialFlag;
	}

	public String getProductFlag() {
		return productFlag;
	}

	public void setProductFlag(String productFlag) {
		this.productFlag = productFlag;
	}

	public Integer getTheFloor() {
		return theFloor;
	}

	public void setTheFloor(Integer theFloor) {
		this.theFloor = theFloor;
	}

	public String getProductName() {
		return productName;
	}

	public void setProductName(String productName) {
		this.productName = productName;
	}

	public String getModel() {
		return model;
	}

	public void setModel(String model) {
		this.model = model;
	}

	public String getUnit() {
		return unit;
	}

	public void setUnit(String unit) {
		this.unit = unit;
	}

	public String getSpec() {
		return spec;
	}

	public void setSpec(String spec) {
		this.spec = spec;
	}

	public String getSimpleName() {
		return simpleName;
	}

	public void setSimpleName(String simpleName) {
		this.simpleName = simpleName;
	}

	public String getMnemonicCode() {
		return mnemonicCode;
	}

	public void setMnemonicCode(String mnemonicCode) {
		this.mnemonicCode = mnemonicCode;
	}

	public BigDecimal getProductLength() {
		return productLength;
	}

	public void setProductLength(BigDecimal productLength) {
		this.productLength = productLength;
	}

	public BigDecimal getProductWidth() {
		return productWidth;
	}

	public void setProductWidth(BigDecimal productWidth) {
		this.productWidth = productWidth;
	}

	public BigDecimal getProductHeight() {
		return productHeight;
	}

	public void setProductHeight(BigDecimal productHeight) {
		this.productHeight = productHeight;
	}

	public BigDecimal getStackingId() {
		return stackingId;
	}

	public void setStackingId(BigDecimal stackingId) {
		this.stackingId = stackingId;
	}

	public String getUseable() {
		return useable;
	}

	public void setUseable(String useable) {
		this.useable = useable;
	}

	public BigDecimal getLkMinkc() {
		return lkMinkc;
	}

	public void setLkMinkc(BigDecimal lkMinkc) {
		this.lkMinkc = lkMinkc;
	}

	public BigDecimal getLkMaxkc() {
		return lkMaxkc;
	}

	public void setLkMaxkc(BigDecimal lkMaxkc) {
		this.lkMaxkc = lkMaxkc;
	}

	public BigDecimal getFlatMinkc() {
		return flatMinkc;
	}

	public void setFlatMinkc(BigDecimal flatMinkc) {
		this.flatMinkc = flatMinkc;
	}

	public BigDecimal getFlatMaxkc() {
		return flatMaxkc;
	}

	public void setFlatMaxkc(BigDecimal flatMaxkc) {
		this.flatMaxkc = flatMaxkc;
	}

	public BigDecimal getBzq() {
		return bzq;
	}

	public void setBzq(BigDecimal bzq) {
		this.bzq = bzq;
	}

	public BigDecimal getYxq() {
		return yxq;
	}

	public void setYxq(BigDecimal yxq) {
		this.yxq = yxq;
	}

	@Override
	public String getRemark() {
		return remark;
	}

	@Override
	public void setRemark(String remark) {
		this.remark = remark;
	}

	public String getOneStackingId() {
		return oneStackingId;
	}

	public void setOneStackingId(String oneStackingId) {
		this.oneStackingId = oneStackingId;
	}

	public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("productGuid", getProductGuid())
            .append("productId", getProductId())
            .append("parentId", getParentId())
            .append("specialFlag", getSpecialFlag())
            .append("productFlag", getProductFlag())
            .append("theFloor", getTheFloor())
            .append("productName", getProductName())
            .append("model", getModel())
            .append("unit", getUnit())
            .append("spec", getSpec())
            .append("simpleName", getSimpleName())
            .append("mnemonicCode", getMnemonicCode())
            .append("productLength", getProductLength())
            .append("productWidth", getProductWidth())
            .append("productHeight", getProductHeight())
            .append("stackingId", getStackingId())
            .append("useable", getUseable())
            .append("lkMinkc", getLkMinkc())
            .append("lkMaxkc", getLkMaxkc())
            .append("flatMinkc", getFlatMinkc())
            .append("flatMaxkc", getFlatMaxkc())
            .append("bzq", getBzq())
            .append("yxq", getYxq())
            .append("remark", getRemark())
            .append("oneStackingId", getOneStackingId())
            .toString();
    }
}
